
// 容器管理 库位管理 单位管理,商品管理,收货单管理，订单管理，期初管理，报损管理，领用管理
import { containerMExcelView, importsContainer, locationMExcelView, importlocationM, goodsUnitExcelView, importGoodsUnit, goodsExcelView, importGoods, receiveExcelView,
   deliveryListExcelView, importDeliveryList, importReceive, initializationExcelView, importInitialization, damagedExcelView, importDamaged, collectLExcelView, importCollectL} from '@/api/Preview'

const tableColumn = {
  // 基础信息 - 库位管理
  locationManage: [
    { type: 'seq', width: 60, align: 'center' },
    { field: 'warehouseSerialNumber', title: '仓库编码', minWidth: 120 },
    { field: 'warehouseName', title: '仓库名称' , minWidth: 120},
    { field: 'spaceSerialNumber', title: '库区编码' , minWidth: 120},
    { field: 'spaceName', title: '库区名称', minWidth: 120 },
    { field: 'serialNumber', title: '库位编码', minWidth: 120 },
    { field: 'locationTypeName', title: '库位类型' , minWidth: 120},
    { field: 'bearTypeName', title: '库位承载类型', minWidth: 130 },
    { field: 'storageStrategyName', title: '混放策略' , minWidth: 120},
    { field: 'ioLockName', title: '出入库锁' , minWidth: 120},
    { field: 'shelvesNumber', title: '上架动线号' , minWidth: 130},
    { field: 'pickNumber', title: '拣货动线号' , minWidth: 130},
    { field: 'inventoryNumber', title: '盘点动线号', minWidth: 130  },
    { field: 'remarks', title: '备注', minWidth: 120, showOverflow: true }
  ],
  // 基础信息 - 商品单位
  goodsUnit: [
    { type: 'seq', width: 60, align: 'center' },
    { field: 'shipmentSerialNumber', title: '入驻商编码' },
    { field: 'shipmentName', title: '入驻商名称' },
    { field: 'unitCode', title: '单位编号' },
    { field: 'unitName', title: '单位名称' },
    { field: 'remarks', title: '备注', minWidth: 120, showOverflow: true }
  ],
  // 基础信息 - 商品管理
  goodsManage: [
    { field: 'shipmentSerialNumber', title: '入驻商编码', minWidth: 120 },
    { field: 'shipmentName', title: '入驻商名称', minWidth: 120 },
    { field: 'goodsTypeName', title: '商品分类', minWidth: 120 },
    { field: 'goodCode', title: '商品编码', minWidth: 130 },
    { field: 'goodsBarCode', title: '商品条码', minWidth: 120 },
    { field: 'goodsName', title: '商品名称', minWidth: 120 },
    { field: 'unitName', title: '基本单位', minWidth: 120 },
    { field: 'unitPrecision', title: '基本单位精度', minWidth: 120 },
    { field: 'spec', title: '规格', minWidth: 120 },
    { field: 'lotNumberName', title: '批次规则', minWidth: 120 },
    { field: 'typeName', title: '商品类型', minWidth: 120 },
    { field: 'saleName', title: '是否可销售', minWidth: 120 },
    { field: 'purchaseName', title: '是否可采购', minWidth: 120 },
    { field: 'quality', title: '保质期(天)', minWidth: 130 },
    { field: 'storageStrategyName', title: '混放策略', minWidth: 120 },
    { field: 'earlyWarning', title: '临期预警(天)', minWidth: 130 },
    { field: 'receivingWarning', title: '收货预警(天)', minWidth: 130 },
    { field: 'sendWarning', title: '发货预警(天)', minWidth: 130 },
    { field: 'brandName', title: '品牌', minWidth: 120 },
    { field: 'quantity', title: '件装量', minWidth: 120 },
    { field: 'length', title: '长(CM)', minWidth: 120 },
    { field: 'width', title: '宽(CM)', minWidth: 120 },
    { field: 'height', title: '高(CM)', minWidth: 120 },
    { field: 'weight', title: '重量(kg)', minWidth: 120 },
    { field: 'volume', title: '体积(CM³)', minWidth: 120 },
    { field: 'remarks', title: '备注', minWidth: 120 },
  ],
  // 基础信息 -  容器管理
  containerList:[
    { type: 'seq', width: 60, align: 'center' },
    { field: 'barCode', title: '容器编码' },
    { field: 'typeName', title: '容器类型' },
    { field: 'remarks', title: '备注', minWidth: 120, showOverflow: true }
  ],
  // 入库管理- 收货单管理
  reciveList:[
    { type: 'seq', width: 60, align: 'center' },
    { field: 'warehouseSerialNumber', title: '仓库编码', minWidth: 120 },
    { field: 'warehouseName', title: '仓库名称', minWidth: 120 },
    { field: 'shipmentSerialNumber', title: '入驻商编码', minWidth: 120 },
    { field: 'shipmentName', title: '入驻商名称', minWidth: 120 },
    { field: 'supplierCustomerNumber', title: '供应商/客户编码', minWidth: 150 },
    { field: 'supplierCustomerName', title: '供应商/客户名称', minWidth: 150 },
    { field: 'sourceCode', title: '来源单号', minWidth: 120 },
    { field: 'typeText', title: '订单类型', minWidth: 120 },
    { field: 'goodCode', title: '商品编码', minWidth: 120 },
    { field: 'goodsName', title: '商品名称', minWidth: 120 },
    { field: 'goodsUnitName', title: '商品单位', minWidth: 120 },
    { field: 'planQuantity', title: '数量', minWidth: 120 },
    { field: 'unitConvertText', title: '单位换算', minWidth: 120 },
    { field: 'basicUnitName', title: '基本单位', minWidth: 120 },
    { field: 'remarks', title: '备注', minWidth: 120, showOverflow: true }
  ],
  // 出库管理 - 订单管理
  deliveryList:[
    { type: 'seq', width: 60, align: 'center' },
    { field: 'warehouseSerialNumber', title: '仓库编码', minWidth: 120 },
    { field: 'shipmentName', title: '入驻商名称', minWidth: 120 },
    { field: 'shopNick', title: '店铺名称', minWidth: 150 },
    { field: 'sourceCode', title: '商家订单号', minWidth: 150 },
    { field: 'deliveryOrderCode', title: '销售平台单号', minWidth: 120 },
    { field: 'sourcePlatformCode', title: '销售平台来源', minWidth: 120 },
    { field: 'receiverName', title: '收货人姓名', minWidth: 120 },
    { field: 'receiverMobile', title: '收货人手机', minWidth: 120 },
    { field: 'receiverProvince', title: '收货人省', minWidth: 120 },
    { field: 'receiverCity', title: '收货人市', minWidth: 120 },
    { field: 'receiverDistrict', title: '收货人区县', minWidth: 120 },
    { field: 'receiverDetailAddress', title: '收货人详细地址', minWidth: 120 },
    { field: 'customerName', title: '客户名称', minWidth: 120 },
    { field: 'goodCode', title: '商家商品编码', minWidth: 120 },
    { field: 'damagedQuantity', title: '商品数量', minWidth: 120 },
    { field: 'carrierName', title: '承运商名称', minWidth: 120 },
    { field: 'customerCode', title: '客户门店编码', minWidth: 120 },
    { field: 'typeName', title: '订单类型', minWidth: 120 },
    { field: 'price', title: '商品价格', minWidth: 120 },
    { field: 'waybillCode', title: '三方运单号', minWidth: 120 },
    { field: 'isDeliveringIfStockout', title: '缺货是否发货', minWidth: 120 },
  ],
  //库内管理 - 期初管理
  initialization:[
    { type: 'seq', width: 60, align: 'center' },
    { field: 'warehouseSerialNumber', title: '仓库编码', minWidth: 120 },
    { field: 'warehouseName', title: '仓库名称', minWidth: 120 },
    { field: 'shipmentSerialNumber', title: '入驻商编码', minWidth: 120 },
    { field: 'shipmentName', title: '入驻商名称', minWidth: 120 },
    { field: 'warehouseSpaceSerialNumber', title: '库区编码', minWidth: 150 },
    { field: 'warehouseSpaceName', title: '库区名称', minWidth: 150 },
    { field: 'locationSerialNumber', title: '库位编码', minWidth: 120 },
    { field: 'goodCode', title: '商品编码', minWidth: 120 },
    { field: 'goodsName', title: '商品名称', minWidth: 120 },
    { field: 'goodsUnitName', title: '单位', minWidth: 120 },
    { field: 'unitQuantity', title: '数量', minWidth: 120 },
    { field: 'gmtManufacture', title: '生产日期', minWidth: 120 },
    { field: 'gmtExpire', title: '过期日期', minWidth: 120 },
    { field: 'supplier', title: '供应商', minWidth: 120 },
    { field: 'serialNumber', title: '序列号', minWidth: 120 },
    { field: 'extendOne', title: '生产批号', minWidth: 130 },
    { field: 'extendTwo', title: '商品批次', minWidth: 130 },
    { field: 'extendThree', title: '扩展字段3', minWidth: 130 },
    { field: 'extendFour', title: '扩展字段4', minWidth: 130 },
    { field: 'extendFive', title: '扩展字段5', minWidth: 130 },
    { field: 'extendSix', title: '扩展字段6', minWidth: 130 },
    { field: 'remarks', title: '备注', minWidth: 120, showOverflow: true }
  ],
  // 库内管理 - 报损管理
    damaged:[
      { type: 'seq', width: 60, align: 'center' },
      { field: 'warehouseSerialNumber', title: '仓库编码', minWidth: 120 },
      { field: 'warehouseName', title: '仓库名称', minWidth: 120 },
      { field: 'shipmentSerialNumber', title: '入驻商编码', minWidth: 130 },
      { field: 'shipmentName', title: '入驻商名称', minWidth: 130 },
      { field: 'reason', title: '报损原因' ,minWidth:180 },
      { field: 'typeName', title: '报损类型', minWidth: 130  },
      { field: 'goodCode', title: '商品编码', minWidth: 120 },
      { field: 'goodsName', title: '商品名称', minWidth: 120 },
      { field: 'goodsUnitName', title: '单位', minWidth: 120 },
      { field: 'unitQuantity', title: '数量', minWidth: 120 },
      { field: 'remarks', title: '备注', minWidth: 120, showOverflow: true }
    ],
    // 库内管理 - 领用管理
    collectL:[
      { type: 'seq', width: 60, align: 'center' },
      { field: 'warehouseSerialNumber', title: '仓库编码', minWidth: 120 },
      { field: 'warehouseName', title: '仓库名称', minWidth: 120 },
      { field: 'shipmentSerialNumber', title: '入驻商编码', minWidth: 130 },
      { field: 'shipmentName', title: '入驻商名称', minWidth: 130 },
      { field: 'collectDept', title: '领用部门' ,minWidth:180 },
      { field: 'typeName', title: '领用类型', minWidth: 130  },
      { field: 'goodCode', title: '商品编码', minWidth: 120 },
      { field: 'goodsName', title: '商品名称', minWidth: 120 },
      { field: 'goodsUnitName', title: '单位', minWidth: 120 },
      { field: 'unitQuantity', title: '数量', minWidth: 120 },
      { field: 'remarks', title: '备注', minWidth: 120, showOverflow: true }
    ],

}

const interfaces = {
  // 基础信息 -> 库位管理 - 模板下载、上传地址、预览数据、导入数据
  locationManage: {
    dlTpl: function () {
      return 'https://wms2.obs.cn-north-4.myhuaweicloud.com/location.xlsx'
    },
    uploadUrl: function () {
      return `${this.BASE_API_URL}arpa-basic-api/fileUpload`
    },
    previewFile: function (parm, cb) {
      locationMExcelView(parm).then((res) => {
        cb && cb(res)
      })
    },
    importData: function (parm, cb) {
      importlocationM(parm).then((res) => {
        cb && cb(res)
      })
    }
  },
  // 基础信息 -> 商品单位 - 模板下载、上传地址、预览数据、导入数据
  goodsUnit: {
    dlTpl: function () {
      return 'https://wms2.obs.cn-north-4.myhuaweicloud.com/dianshang_sass/goodsUnit.xlsx'
    },
    uploadUrl: function () {
      return `${this.BASE_API_URL}arpa-basic-api/fileUpload`
    },
    previewFile: function (parm, cb) {
      goodsUnitExcelView(parm).then((res) => {
        cb && cb(res)
      })
    },
    importData: function (parm, cb) {
      importGoodsUnit(parm).then((res) => {
        cb && cb(res)
      })
    }
  },
  // 基础信息 - 商品
  goodsManage: {
    dlTpl: function () {
      return 'https://wms2.obs.cn-north-4.myhuaweicloud.com/dianshang_sass/goods.xlsx'
    },
    uploadUrl: function () {
      return `${this.BASE_API_URL}arpa-basic-api/fileUpload`
    },
    previewFile: function (parm, cb) {
      goodsExcelView(parm).then((res) => {
        cb && cb(res)
      })
    },
    importData: function (parm, cb) {
      importGoods(parm).then((res) => {
        cb && cb(res)
      })
    }
  },
  // 容器管理
  containerList:{
    dlTpl: function () {
      return 'https://wms2.obs.cn-north-4.myhuaweicloud.com/container.xlsx'
    },
    uploadUrl: function () {
      return `${this.BASE_API_URL}arpa-basic-api/fileUpload`
    },
    previewFile: function (parm, cb) {
      containerMExcelView(parm).then((res) => {
        cb && cb(res)
      })
    },
    importData: function (parm, cb) {
      importsContainer(parm).then((res) => {
        cb && cb(res)
      })
    }
  },
  // 收货单管理
  reciveList:{
    dlTpl: function () {
      return 'https://wms2.obs.cn-north-4.myhuaweicloud.com/dianshang_sass/dianshang_receive.xlsx'
    },
    uploadUrl: function () {
      return `${this.BASE_API_URL}arpa-basic-api/fileUpload`
    },
    previewFile: function (parm, cb) {
      receiveExcelView(parm).then((res) => {
        cb && cb(res)
      })
    },
    importData: function (parm, cb) {
      importReceive(parm).then((res) => {
        cb && cb(res)
      })
    }
  },
  // //订单管理
  deliveryList:{
    dlTpl: function () {
      return 'https://wms2.obs.cn-north-4.myhuaweicloud.com/tpl_delivery.xls'
    },
    uploadUrl: function () {
      return `${this.BASE_API_URL}arpa-basic-api/fileUpload`
    },
    previewFile: function (parm, cb) {
      deliveryListExcelView(parm).then((res) => {
        cb && cb(res)
      })
    },
    importData: function (parm, cb) {
      importDeliveryList(parm).then((res) => {
        cb && cb(res)
      })
    }
  },
  // 期初管理
  initialization:{
    dlTpl: function () {
      return 'https://wms2.obs.cn-north-4.myhuaweicloud.com/dianshang_sass/initialization.xlsx'
    },
    uploadUrl: function () {
      return `${this.BASE_API_URL}arpa-basic-api/fileUpload`
    },
    previewFile: function (parm, cb) {
      initializationExcelView(parm).then((res) => {
        cb && cb(res)
      })
    },
    importData: function (parm, cb) {
      importInitialization(parm).then((res) => {
        cb && cb(res)
      })
    }
  },
   // 报损管理
   damaged:{
    dlTpl: function () {
      return 'https://wms2.obs.cn-north-4.myhuaweicloud.com/dianshang_sass/damaged.xlsx'
    },
    uploadUrl: function () {
      return `${this.BASE_API_URL}arpa-basic-api/fileUpload`
    },
    previewFile: function (parm, cb) {
      damagedExcelView(parm).then((res) => {
        cb && cb(res)
      })
    },
    importData: function (parm, cb) {
      importDamaged(parm).then((res) => {
        cb && cb(res)
      })
    }
  },
  // 领用管理
  collectL:{
    dlTpl: function () {
      return 'https://wms2.obs.cn-north-4.myhuaweicloud.com/dianshang_sass/collect.xlsx'
    },
    uploadUrl: function () {
      return `${this.BASE_API_URL}arpa-basic-api/fileUpload`
    },
    previewFile: function (parm, cb) {
      collectLExcelView(parm).then((res) => {
        cb && cb(res)
      })
    },
    importData: function (parm, cb) {
      importCollectL(parm).then((res) => {
        cb && cb(res)
      })
    }
  },
}

export { tableColumn, interfaces }
